4.1 Nouveau projet
Pas la possibilité de passer en direct d’un automate TSX57 PL7 Pro à un automate M580.
Créer une config finale dans un nouveau projet.
Il faut aussi configurer le nombre maxi de mots déclares dans l’API (M580 accepte jusque 65232 mots / TSX57 jusque 32464).
Dans la configuration de la carte réseau de l’API il faut activer les paramètres de sécurité propre au réseau procès. Pour cette conversion tous les paramètres de sécurités ont été activés.
4.2 Carte ASi
Pour cette conversion le client a choisi de remplacer les cartes ASi par des passerelles ASi.
En général les équipements liés à un automate (STB, passerelles ASi, variateurs etc.)
Il faut les programmer avec une classe d’adresse IP différente de l’adresse de l’API.
Le plus simple c’est de prendre le dernière nombre de l’adresse de l’API et de crée un nouveau réseau
(Ex. pour un automate avec l’adresse configuré : 210.111.0.24 (adresse API) -> créer 210.111.24.1 – pour la première carte « Ethernet », 210.111.24.10 pour la première passerelle, 210.111.24.20 pour la deuxième, etc.).
Note : A voir avec le client si les nouvelles plages sont disponibles !
Il faut activer les sécurités sur la carte Ethernet.
Pour communiquer avec les passerelles il faut ouvrir le navigateur DTM « Menu/Outils/Navigateur de DTM ». Pour les équipements qui communiquent en Ethernet/IP on peut importer les fichiers DTM et la structure des variables (ex. Passerelle ASi IFM AC1442) ;
Dans ce cas on utilise des passerelles ASi AC1358 qui communique en MODBUS/TCP, mais cette passerelle n’a pas de DTM prédéfini.
Dans le navigateur DTM il faut cliquer droit sur la carte Ethernet (« BMENOC0301_2 »), et choisir « Ajouter »
Dans la nouvelle fenêtre il faut choisir « Modbus Device »
Il faut choisir son nom
La configuration de chaque équipement ; La sélection de la carte Ethernet permet l’affichage d’une structure arborescente d’où on peut paramétrer les équipements. Il y a 3 onglets ;
Dans l’onglet « Propriétés » il faut s’assuré que la configuration est « Activé », donner un nom à la structure de variables (ce nom va s’afficher dans la liste de variables DDT), et s’assurer que le mode d’importation est sur « Manuel »
Dans l’onglet « Paramétrage de l’adresse » il faut choisir l’adresse IP de la passerelle
Dans le dernier onglet il faut paramétrer les requetés.
Note :
« Le bit de connexion » - c’est un index qui s’incrément automatiquement (un numéro unique pour chaque requête) ;
« ID unité » - Il est à « 1 » pour tout le monde ; Adresse MODBUS de l’équipement – 1 pour les passerelles ASi
« Timeout de validité » - valeur par défaut – 1500 ms
« Période de répétition » - 40 ms (Il faut faire attention avec cette valeur ; une valeur trop courte est on risque de perdre des requêtes, une valeur trop grande est on risque de perdre le changement d’état de capteurs rapides)
« Adresse maitre (lectures)/ (écritures) et longueurs » - Pour les passerelles IFM avec 2 maitres la structure de communication est composée de 16 mots pour les modules TOR et 155 mots pour les modules ANA ;
Les adresses MODBUS (lecture/écriture) pour le maitre 1 sont :
- 4095 – Modules TOR - lecture ;
- 4524 – Modules TOR - écriture ;
- 4129 – Modules ANA - lecture ;
- 4558 – Modules ANA – écriture.
Les adresses MODBUS (lecture/écriture) pour le maitre 2 sont :
- 8191– Modules TOR - lecture ;
- 8620 – Modules TOR - écriture ;
- 8225– Modules ANA - lecture ;
- 8654 – Modules ANA – écriture.
Une requête ne peut pas dépasser 120 mots donc la trame pour les valeurs ANA a été divise en 2. Par facilité elles contiennent un nombre égal des modules (requête A – modules 1-16, requête B – modules 17-31)
Une requête ne peut pas contenir une longueur impaire (la structure rajoute des mots inutilisés).
Pour chaque requête il faut définir la structure de la trame ; la plus simple solution c’est de déclarer un tableau de mots (type INT) avec une dimension égale à la longueur de la trame ; mais cette solution n’est pas très pratique quand il faut identifier les modules et les voies.
Par contre il faut l’utiliser parce que toutes les structures déclarées seront copiées dans des variables tampons dans des sections similaires au traitement des variables de communications ; Dans ces sections il y a la possibilité de mettre des commentaires et pour chaque modification dans le réseau ASi les structures restent identiques.
Rappel : Chaque modification de la structure oblige à régénère le projet -> chargement complet de l’API (arrêt de l’automate)
Sinon,
La trame qui correspond aux modules TOR a le format suivant :
- Modules entrées : ASi_z_DI_Escw_x_y,
- Modules sorties : ASi_z_DO_Escw_x_y,
- Ou z = M1 ou M2 (1er ou 2eme maitre), x = le numéro du module (1-31), y = la voie de l’entrée/sortie (0-3), w = type d’adresse (standard ou étendue – A ou B);
La trame qui correspond aux modules ANA a le format suivant :
- Modules entrées : ASi_z_AI_Esc_x[y],
- Modules sorties : ASi_z_AO_Esc_x[y],
- Ou z = M1 ou M2 (1er ou 2eme maitre), x = le numéro du module (1-31), y = la voie de l’entrée/sortie (0-4);
Note : Dans une passerelle ASi la structure pour les modules TOR c’est : un octet par module ou les 4 premiers bits sont les bits pour l’esclave A (voies 0-3), et les 4 derniers sont les bits pour l’esclave B (voies 0-3) ;
Ne pas confondre les esclaves A/B avec les maitres A et B ;
La structure pour les modules ANA c’est 5 mots de 16bits, ou les premiers 4 mots sont affectés aux voies et le dernier à l’état des voies.
!! Les profiles des adresses étendues ne sont pas déclarés ici (Bits de 4-7)
Les noms :
ASi_M1_DI_EscA_01_0 pour l’entrée 0 TOR du module 1 (adresse A) du maitre 1
ASi_M1_DI_EscB_01_1 pour l’entrée 0 TOR du module 1 (adresse B) du maitre 1
!! Les profiles des adresses étendues ne sont pas déclarés ici (Bits de 4-7)
ASi_M1_DO_EscA_01_0 pour la sortie 0 TOR du module 1 (adresse A) du maitre 1
ASi_M1_DO_EscB_01_1 pour la sortie 0 TOR du module 1 (adresse B) du maitre 1
ASi_M1_AI_Esc_01[0] pour l’entrée 0 ANA du module 1 du maitre 1
ASi_M1_AO_Esc_01[0] pour la sortie 0 ANA du module 1 du maitre 1
Note : Chaque changement dans la structure oblige à régénérer le projet !
Pour cette version du projet on a été obligé de recréer 3 fois les structures ; On n’a pas trouvé de méthode pour exporter/importer la structure.
4.3 Taches Mast et Fast
Il faut exporter chaque tache depuis le programme converti et l’importer dans le nouveau (celui lors de l’export) avec la config du M580). A l’export, il faut cocher « avec DDT » et « avec DFB »
Note : Attention à l’import de la tâche « FAST » ; il faut l’importer en gardant les variables pour éviter la duplication des symboles; L’avantage de l’import c’est l’élimination de tous les symboles non utilisés.
A l’import, le logiciel oblige à renommer toutes les sections/variables qui ont des caractères spéciaux (ex. é, à, etc.).
Il faut choisir « Garder tout » pour éviter la duplication des variables dans la tache FAST.
4.4 Correctif des erreurs
Après l’import il faut corriger :
4.4.1 Les erreurs de frappes
4.4.2 Les erreurs de temporisation
Dans la conversion PL7-> Unity avec un automate TSX57, le bloc de temporisation de type TM est proposée comme une version obsolète. Car, cette fonction n’existe pas pour les processeurs M580.
Donc il faut recréer une fonction, identique, avec les mêmes entrées/sorties, variables publiques/privées, créer des instances avec le même nom que la fonction de temporisation (Ex.TM0 -> TM0), et recrée une section d’initialisation qui est appelée UNE SEULE FOIS, AU DÉMARRAGE pour forcer les valeurs de paramètres.
Ex. tempo à la seconde ou à la minute, valeur initiale TM0.v=5 secondes, etc.
En commentaire se trouve la liste des blocs prédéfinis paramétrés dans le programme d’origine.
4.4.3 L’affectation des symboles d’entrées/sorties sur les passerelles
Dans la liste de variables il faut utiliser la colonne « Alias pour » pour renseigner la position du symbole souhaité. Pour faciliter la lecture (détecter la position du symbole) il faut mettre sa position dans le commentaire (pour indication).
Il n’y a pas d’indication de position à la sélection du symbole.
Il est important de mettre la position en commentaire.
4.4.4 Vérification des régulations
Vérifier le remplacement des limites hautes et basses du tableau de paramètres de l’ancienne fonction PID (par défaut des mots double entiers) par des mots entiers pour le tableau de paramètres de la nouvelle fonction PID_INT de remplacement.
Attention si les valeurs d’origine dépassent 32000, il faut renseigner les 2 mots (poids fort et poids faible) de chaque limite.